package com.mini.grpc.examples.helloworld;

import com.mini.grpc.server.BindableService;
import com.mini.grpc.server.ServerServiceDefinition;
import com.mini.grpc.common.StreamObserver;

/**
 * HelloWorld服务接口
 * 简化版本，用于示例
 */
public interface HelloWorldService extends BindableService {
    String SERVICE_NAME = "helloworld.HelloWorld";
    
    // 一元调用方法
    String sayHello(String name);
    
    // 服务端流式方法
    void sayHelloServerStream(String name, StreamObserver<String> responseObserver);
    
    // 客户端流式方法
    StreamObserver<String> sayHelloClientStream(StreamObserver<String> responseObserver);
    
    // 双向流式方法
    StreamObserver<String> sayHelloBidiStream(StreamObserver<String> responseObserver);
    
    @Override
    default ServerServiceDefinition bindService() {
        // 简化实现，实际应该包含完整的方法绑定
        return ServerServiceDefinition.builder(SERVICE_NAME).build();
    }
} 